<script>
$(document).ready(function () {
    //添加角色
    $("#add-role-sub").click(function () {
        var rolename = $("#rolename").val();
        var rolemsg = $("#rolemsg").val();
        $.ajax({
            type:"POST",
            async:false,
            url:"/rbac/addrole/",
            data:{"rolename":rolename,"rolemsg":rolemsg},
            dataType : "json",
            success:function (data) {
                $("#addRoleModal").modal('hide');
                spop({
                    template: data,
                    style: 'success',
                    autoclose: 2000
                });
                setTimeout("location.reload()",2100);
            },
            error:function (data) {
                spop({
                    template:data.responseText,
                    style: 'error',
                    autoclose: 2000
                });
            }
        })
    });

    //获取角色修改内容
    $("td>a[name='edit-role']").click(function () {
        var role_id = $(this).attr("roleid");
        $.ajax({
            type: "POST",
            async: false,
            url: "/rbac/idrole/",
            data:{"role_id":role_id},
            dataType: "json",
            success:function (data) {
                $("#edit-rolename").val(data.RoleName);
                $("#edit-rolemsg").val(data.RoleMsg);
                $("#edit-role-sub").attr("role_id",data.ID);
                $("#editRoleModal").modal("show");
            },
            error:function (data) {
                spop({
                    template:data.responseText,
                    style: 'error',
                    autoclose: 2000
                });
            }
        });
    });

    //提交角色修改内容
    $("#edit-role-sub").click(function () {
        var role_id = $(this).attr("role_id");
        var rolename = $("#edit-rolename").val();
        var rolemsg = $("#edit-rolemsg").val();
        $.ajax({
            type:"PUT",
            async:false,
            url:"/rbac/editrole/",
            data:{"role_id":role_id,"rolename":rolename,"rolemsg":rolemsg},
            dataType : "json",
            success:function (data) {
                $("#editRoleModal").modal('hide');
                spop({
                    template: data,
                    style: 'success',
                    autoclose: 2000
                });
                setTimeout("location.reload()",2100);
            },
            error:function (data) {
                spop({
                    template:data.responseText,
                    style: 'error',
                    autoclose: 2000
                });
            }
        })
    });

    //删除角色
    $("td>a[name='del-role']").click(function () {
        var role_id = $(this).attr('roleid');
        var statu = confirm("是否确认删除!");
        if (statu==true)
        {
            $.ajax({
                type: "post",
                async:false,
                url: "/rbac/delrole/",
                data: {"role_id":role_id},
                dataType : "json",
                success: function(data) {
                    spop({
                        template:data,
                        style: 'warning',
                        autoclose: 2000
                    });
                    setTimeout("location.reload()",2100);
                },
                error:function (data) {
                    spop({
                        template:data.responseText,
                        style: 'error',
                        autoclose: 2000
                    });
                }
            });
        }
    });

    //搜索角色
    $("#search-role").bind('change',function () {
        var key = $(this).val();
        if (key != "" ) {
            var url = "/rbac/searchrole/" + key + "/";

        }else{
            var url = "/rbac/role/";
        }
        $("#search-role-a").attr("href", url);
    });

//////////////////////////菜单授权/////////////////////////////////
    //权限授权
    $("td>a[name='perms']").click(function () {
        var role_id = $(this).attr("roleid");
        //清除所有已选中
        $("input[type='checkbox']").each(function () {
            $(this).prop("checked", false);
        });
        $.ajax({
            type:"POST",
            url:"/rbac/getperms/",
            data:{"role_id":role_id},
            dataType:"json",
            success:function (data) {
                if(data){
                    for (i=0;i<data.length;i++){
                        $("input[type='checkbox']").each(function () {
                            var id = $(this).attr("id");
                            if (id ==data[i]){
                                $(this).prop("checked", true);
                            }
                        })
                    }
                }
                $("#edit-role-perms-sub").attr("role_id",role_id);
                $("#PermsModal").modal("show");
            },
            error:function (data) {
                spop({
                    template:data.responseText,
                    style: 'error',
                    autoclose: 2000
                });
            }
        });
    });

    $("#edit-role-perms-sub").click(function () {
        var role_id = $(this).attr("role_id");
        var arr_id = [];
        $("input[type='checkbox']").each(function () {
            if(this.checked){
                var id = $(this).attr("id");
                if(id && id != "checkbox-all"){
                    arr_id.push(parseInt(id))
                }
            }
        });

        var perms_ids = JSON.stringify(arr_id);
        $.ajax({
            type:"POST",
            url:"/rbac/editroleperms/",
            data:{"role_id":role_id,"perms_ids":perms_ids},
            dataType:"json",
            success:function (data) {
                $("#PermsModal").modal("hide");
                spop({
                    template:data,
                    style: 'success',
                    autoclose: 2000
                });
                setTimeout("location.reload()",2100);
            },
            error:function (data) {
                spop({
                    template:data.responseText,
                    style: 'error',
                    autoclose: 2000
                });
            }
        })
    });



//////////////////////////////////平台授权////////////////////////////////////

    var setting = {
        view: {
            selectedMulti: false,
        },
        check: {
            enable: true
        },
        data: {
            simpleData: {
                enable: true
            }
        },
        edit: {
            enable: false
        }
    };




    //权限授权
    $("td>a[name='platform']").click(function () {
        var role_id = $(this).attr("roleid");
        //清除所有已选中
        $("input[type='checkbox']").each(function () {
            $(this).prop("checked", false);
        });
        $.ajax({
            type:"POST",
            url:"/rbac/getpfm/",
            data:{"role_id":role_id},
            dataType:"json",
            success:function (data) {
                var zNodes = data;
                treeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
                $("#pfm-sub").attr("role_id",role_id);
                $("#pfmModal").modal("show");
            },
            error:function (data) {
                spop({
                    template:data.responseText,
                    style: 'error',
                    autoclose: 2000
                });
            }
        });
    });


    $("#pfm-sub").click(function () {
        role_id = $(this).attr("role_id");
        var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
        var nodes = treeObj.getCheckedNodes(true);
        var arr_id = new Array();
        for (i=0;i<nodes.length;i++){
            var zid = nodes[i].id;
            var id = parseInt(zid);
            if (id >=1000){
                arr_id.push(id/1000)
            }
        }
        var pfm_ids = JSON.stringify(arr_id);
        $.ajax({
            type:"POST",
            url:"/rbac/editrolepfm/",
            data:{"role_id":role_id,"pfm_ids":pfm_ids},
            dataType:"json",
            success:function (data) {
                $("#pfmModal").modal("hide");
                spop({
                    template:data,
                    style: 'success',
                    autoclose: 2000
                });
                setTimeout("location.reload()",2100);
            },
            error:function (data) {
                spop({
                    template:data.responseText,
                    style: 'error',
                    autoclose: 2000
                });
            }
        });
    });


/////////////////////////////////////imput td 选择/////////////////////////////////////////
    //全选
    $("input[name='all']").click(function () {
        if(this.checked){
            $("input[name='level1-menu']").prop("checked", true);
            $("input[name='level2-menu']").prop("checked", true);
            $("input[name='level3-menu']").prop("checked", true);
        }else{
            $("input[name='level1-menu']").prop("checked", false);
            $("input[name='level2-menu']").prop("checked", false);
            $("input[name='level3-menu']").prop("checked", false);
        }
    });

    //一级菜单选中
    $("input[name='level1-menu']").click(function () {
        if(this.checked){
            $(this).parent("div").next("ul").find("input").prop("checked", true);
        }else{
            $(this).parent("div").next("ul").find("input").prop("checked", false);
        }
    });

    //二级菜单选中
    $("input[name='level2-menu']").click(function () {
        var pid = $(this).attr("pid");
        if(this.checked){
            $("input[name=\"level1-menu\"]").each(function () {
                var id=$(this).attr("id");
                if ( pid == id){
                    $(this).prop("checked", true);
                }
            });
            $(this).parent("div").next("ul").find("input").prop("checked", true);
        }else{
            $(this).parent("div").next("ul").find("input").prop("checked", false);
            $("input[name=\"level1-menu\"]").each(function () {
                var id=$(this).attr("id");
                if ( pid == id){
                    var flag = false
                    $(this).parent("div").next("ul").find("input").each(function () {
                        if(this.checked){
                            flag = true
                        }
                    });
                    if(!flag){
                        $(this).prop("checked", false);
                    }
                }
            });
        }
    });


    //三级菜单选中
    $("input[name='level3-menu']").click(function () {
        var pid = $(this).attr("pid");
        if(this.checked){
            $("input[name=\"level2-menu\"]").each(function () {
                var id=$(this).attr("id");
                if ( pid == id){
                    $(this).prop("checked", true);
                    var top_id = $(this).attr("pid");
                    if(this.checked) {
                        $("input[name=\"level1-menu\"]").each(function () {
                            var id = $(this).attr("id");
                            if (top_id == id) {
                                $(this).prop("checked", true);
                            }
                        });
                    }
                }
            });
            $(this).parent("div").next("ul").find("input").prop("checked", true);
        }else{
            $(this).parent("div").next("ul").find("input").prop("checked", false);
            $("input[name=\"level2-menu\"]").each(function () {
                var id=$(this).attr("id");
                if ( pid == id){
                    var flag = false;
                    $(this).parent("div").next("ul").find("input").each(function () {
                        if(this.checked){
                            flag = true
                        }
                    });
                    if(!flag){
                        //$(this).prop("checked", false);
                    }
                }
            });
        }
    });
})
</script>
